/**
*
*   class Subject
*
*   stores information about a subject
*
*   @author Ranie Jade Ramiso
*
*/

#ifndef SUBJECT_H_INCLUDED
#define SUBJECT_H_INCLUDED
#include <string>

class Subject{
public:
    //! constructor
    inline Subject(const char* code, const char* desc, const int load, const int id){
        mDesc = desc;
        mCode = code;
        mLoad = load;
        mId = id;
    }

    //! returns the subject's code
    inline const char* code() const { return mCode.c_str(); }
    //! returns the subject's description
    inline const char* description() const { return mDesc.c_str(); }
    //! returns the subject's load
    inline int load() const  { return mLoad; }
    //! returns the subject's id
    inline int id() const { return mId; }

    //! set the subject's code
    inline void setCode(const char* code) { mCode = code; }
    //! set the subject's description
    inline void setDescription(const char* desc) { mDesc = desc; }
    //! set the subject's load
    inline void setLoad(const int load) { mLoad = load; }
private:
    //! holds the subject's code
    std::string mCode;
    //! holds the subject's description
    std::string mDesc;
    //! holds the subject's id
    int mId;
    //! holds the subject's load
    int mLoad;
};


#endif // SUBJECT_H_INCLUDED
